// pages/home/home.js
const db = wx.cloud.database()
Page({
  beforeHandleAdd() {
    this.openDialog();
    this.setData({
      isAdd: true
    })
  },
  async getUserList() {
    // 获取云数据库数据
    const resp = await db.collection('user').get();
    this.setData({
      userList: resp.data
    })
  },
  openDialog() {
    this.setData({
      dialogShow: true
    })
  },
  closeDialog() {
    this.setData({
      dialogShow: false
    })
  },
  async handleOk() {
    const data = {
      nickname: this.data.nickname,
      password: this.data.password,
      avatar: this.data.avatar,
      username: this.data.username,
    }

    if (this.data.isAdd) {
      await db.collection('user').add({
        data: data
      })
    } else {

      await db.collection('user').doc(this.data._id).update({
        data
      })
    }



    await this.getUserList()
    this.setData({
      dialogShow: false
    })
    wx.showToast({
      title: '处理成功！',
    })
  },
  handleDelete(e) {
    const {
      _id
    } = e.target.dataset;
    wx.showModal({
      title: '提示',
      content: '确认要删除吗？',
      complete: async (res) => {
        if (res.cancel) {

        }

        if (res.confirm) {
          await db.collection('user').doc(_id).remove();
          this.getUserList();
          wx.showToast({
            title: '删除成功',
          })
        }
      }
    })
  },
  handleEdit(e) {
    const item = e.target.dataset.item
    this.setData({
      username: item.username,
      password: item.password,
      nickname: item.nickname,
      avatar: item.avatar,
      isAdd: false,
      _id: item._id
    })

    this.openDialog()
  },
  uploadImage() {
    wx.chooseMedia({
      count: 1,
      success: resp => {
        const {
          tempFilePath
        } = resp.tempFiles[0];
        const name = tempFilePath.split('/').pop()
        wx.cloud.uploadFile({
          filePath: tempFilePath,
          cloudPath: 'image/' + name,
        }).then(resp => {
          this.setData({
            avatar: resp.fileID
          })
        })

      }
    })
  },
  /**
   * 页面的初始数据
   */
  data: {
    userList: [],
    // 弹框状态
    dialogShow: false,
    // 弹框数据
    nickname: '',
    username: '',
    password: '',
    avatar: '',

    // 是添加吗？状态
    isAdd: true,
    // 当前编辑的id
    _id: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getUserList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})